package utils;

import java.io.InputStream;
import java.util.Properties;

/**
 * 读取配置文件的工具类--单例模式
 */
public class Single {
    private static Single single;
    private static Properties properties;
    // 私有构造方法，项目运行期间，仅执行一次
    private Single(){
        properties = new Properties();
        String configFile="database.properties";
        InputStream is=ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
        try {
            properties.load(is);
            if (is != null) {
                is.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 定义一个静态内部类，是将对象的创建工作交给静态内部类
    public static class SingleHolder{
        private static final Single INSTANCE=new Single();
    }

    // 提供一个全局的访问点
    public static Single getInstance() {
        single=SingleHolder.INSTANCE;
        return single;
    }

    // 获取配置文件中的属性值
    public String getProperty(String key) {
        return properties.getProperty(key);
    }
}

